﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using ABC_SA_WEB.WebServicePaquete;
using System.Diagnostics;

namespace ABC_SA_WEB
{
    public partial class crearPaquetes : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                string paqueteConsultado = Request.QueryString["id"];

                if (paqueteConsultado == null)
                {
                    bttActualizar.CssClass = "DisplayN";
                }
                //Captura y convierte a INT el valor del ID
                int idPaquete = Convert.ToInt32(paqueteConsultado);
                consultarDatos(idPaquete);
            }
        }

        protected void bttAgregar_Click(object sender, EventArgs e)
        {
            // Captura la informacion del Paquete
            string nombre = txtNombre.Text;
            string descripcion = txtDescripcion.Text;
            string fechaIni = txtFechaIni.Text;
            string fechaFin = txtFechaFin.Text;
            string precio = txtPrecio.Text;
            bool estado = rdbActivo.Checked;

            if (nombre.Equals("") || descripcion.Equals("") || fechaIni.Equals("") || fechaFin.Equals("") || precio.Equals(""))
            {
                mostrarMensaje("Ningun campo debe de estar vacío.");
            }
            else
            {
                //Llamado a la capa WS para agregar el cliente
                wsPaquete Paquete_WS = new wsPaquete();

                if (!Paquete_WS.agregar(nombre, descripcion, fechaIni, fechaFin, estado, precio))
                {
                    mostrarMensaje("Paquete Agregado Correctamente");
                    resetFields();
                }
                else
                {
                    mostrarMensaje("Error: No se pudo eliminar el Paquete");
                }
            }

        }

        protected void bttActualizar_Click(object sender, EventArgs e)
        {
            // Captura la informacion del Paquete
            string idPaquete = lblidpaquete.Text;
            string nombre = txtNombre.Text;
            string descripcion = txtDescripcion.Text;
            string fechaIni = txtFechaIni.Text;
            string fechaFin = txtFechaFin.Text;
            string precio = txtPrecio.Text;
            bool estado = rdbActivo.Checked;


            if (nombre.Equals("") || descripcion.Equals("") || fechaIni.Equals("") || fechaFin.Equals("") || precio.Equals(""))
            {
                mostrarMensaje("Ningun campo debe de estar vacío.");
            }
            else
            {
                //Llamado a la capa WS para actualizar el cliente
                wsPaquete Paquete_WS = new wsPaquete();
                if (!Paquete_WS.modificar(nombre, descripcion, fechaIni, fechaFin, estado, precio, idPaquete))
                {
                    mostrarMensaje("Paquete Modificado Correctamente");
                    resetFields();
                }
                else
                {
                    mostrarMensaje("Error: No se pudo modificar el Paquete");
                }
            }
        }

        private void resetFields()
        {
            // Reinicia los camois del formulario
            txtNombre.Text = string.Empty;
            txtDescripcion.Text = string.Empty;
            txtFechaIni.Text = string.Empty;
            txtFechaFin.Text = string.Empty;
            txtPrecio.Text = string.Empty;
            rdbActivo.Checked = true;
            lblidpaquete.Text = "Asignacion Automática";
        }

        private void consultarDatos(int paquete)
        {
            // Consulta el paquete seleccionado
            wsPaquete Paquete_WS = new wsPaquete();
            Paquete paq = Paquete_WS.consultaID(paquete); 

            
            // Llena el form con la informacion del paquete seleccionado
            txtNombre.Text = paq.nombreSG;
            txtDescripcion.Text = paq.descripcionSG;
            txtFechaIni.Text = paq.fechaInicioSG;
            txtFechaFin.Text = paq.fechaFinalSG;
            txtPrecio.Text = Convert.ToString(paq.precioSG);
            lblidpaquete.Text = Convert.ToString(paq.idSG);

            if (paq.estadoSG == 1)
                rdbActivo.Checked = true;
            else
                rdbInactivo.Checked = true;
        }

        private void mostrarMensaje(string mensaje)
        {
            string csname1 = "PopupScript";
            Type cstype = this.GetType();
            string cstext1 = Utilitario.mensajeJS(mensaje);
            ClientScript.RegisterStartupScript(cstype, csname1, cstext1);
        }

        protected void btnVolver_Click(object sender, EventArgs e)
        {
            Response.Redirect("PaginaAdmin.aspx");
        }

    }
}